package es.ats.codington.festival.domain;

/**
 * Places POJO class for domain model
 * @author ANTONIO JAVIER BARROSO
 *
 */
public abstract class Places {
	
	/**
	 * Encapsulated data fields of Places object
	 */
	private int placeId;
	private int placeType;
	private String placeName;
	private int capacity;
	private String placeDescription;
	private String zone;	

	/**
	 * Default Constructor of Places
	 */
	public Places (){
	}
	
	/**
	 * Parameterized Constructor of Places
	 * @param placeId 
	 * @param events
	 * @param placeName
	 * @param capacity
	 * @param placeDescription
	 * @param zone
	 */
	public Places (int placeId, String placeName, int capacity, String placeDescription, String zone){
		super();
		this.placeId = placeId;
		this.placeName=placeName;
		this.capacity=capacity;
		this.placeDescription=placeDescription;
		this.zone=zone;
	}
	
	/**
	 * Parameterized Constructor of Places
	 * @param events
	 * @param placeName
	 * @param capacity
	 * @param placeDescription
	 * @param zone
	 */
	public Places (String placeName, int capacity, String placeDescription, String zone){
		super();
		this.placeName=placeName;
		this.capacity=capacity;
		this.placeDescription=placeDescription;
		this.zone=zone;
	}

	/**
	 * GETTER method for PLACES class
	 * @return
	 */
	
	public String getPlaceDescription() {
		return placeDescription;
	}
	/**
	 * SETTER method for PLACES class
	 * @param placeDescription
	 */
	public void setPlaceDescription(String placeDescription) {
		this.placeDescription= placeDescription;
	}
	/**
	 * GETTER method for PLACES class
	 * @return
	 */
	public int getPlaceType(){
		return placeType;
	}
	/**
	 * SETTER method for PLACES class
	 * @param placeType
	 */
	public void setPlaceType(int placeType){
		this.placeType=placeType;
	}	
	

	/**
	 * Abstract method to be overrided in Subclasses like STADIUM, Zoo etc.
	 */
	public abstract void showEvents();
	

	/**
	 * GETTER method for PLACES class
	 * @return
	 */
	public int getPlaceId() {
		return placeId;
	}
	
	/**
	 * SETTER method for PLACES class
	 * @param placeId
	 */
	public void setPlaceId(int placeId) {
		this.placeId = placeId;
	}
	
	/**
	 * GETTER method for PLACES class
	 * @return
	 */
	
	public String getPlaceName() {
		return placeName;
	}
	
	/**
	 * SETTER method for PLACES class
	 * @param placeName
	 */
	
	public void setPlaceName(String placeName) {
		this.placeName = placeName;
	}
	
	/**
	 * GETTER method for PLACES class
	 * @return
	 */
	
	public int getCapacity() {
		return capacity;
	}
	
	/**
	 * SETTER method for PLACES class
	 * @param capacity
	 */
	
	public void setCapacity(int capacity) {
		this.capacity = capacity;
	}
	
	/**
	 * GETTER method for PLACES class
	 * @return
	 */
	
	public String getZone(){
		return zone;	
	}
	
	/**
	 * SETTER method for PLACES class
	 * @param zone
	 */
	
	public void setZone(String zone){
		this.zone=zone;
	}

	
}

